folium:地图数据可视化库
folium是一个基于leaflet.js的python地图库,可以通过folium来操纵数据,并将其可视化。
安装
!pip3 install folium
最简单的地图
这里我使用哈尔滨(45.7476198321, 126.6324558375)所在的经纬度信息,绘制出最简单的Map地图对象,直接调用该对象即可在notebook中显示。
import folium
#绘制哈尔滨地图图层
m = folium.Map(location=[45.7476198321,126.6324558375])
m
保存地图到html
为了将地图保存到html文件中,可以使用如下命令
m.save('Harbin.html')
地图纹理样式 tiles
tiles默认是设置成 OpenStreetMap
,但folium也内置了 StamenTerrain,StamenToner,MapboxBright,andMapboxControlRoom
。具体大家可以试试不同的tiles的显示效果
import folium
m = folium.Map(location=[45.747,126.632],
tiles='Stamen Toner',
zoom_start=12) #地图缩放程度
m
import folium
m = folium.Map(location=[45.747,126.632],
tiles='Stamen Terrain',
zoom_start=12) #地图缩放程度
m
地图标注
在folium中有很多标记类型,而且拥有popup和tooltip 的 HTML,这块我翻译的也不太到位,大家直接看代码和运行结果吧
import folium
m = folium.Map(location=[45.747,126.632],
tiles='Stamen Terrain',
zoom_start=12) #地图缩放程度
tooltip = '请点击我查看该点信息'
folium.Marker([45.7476198321,126.6324558375],
popup='<i>哈工大</i>',
tooltip=tooltip).add_to(m)
folium.Marker([45.7757912763,126.6821874003],
popup='<b>哈工程</b>',
tooltip=tooltip).add_to(m)
m
标记的样式
标记marker的icon可以设置不同的风格,如下面的颜色不同的三种标记
import folium
#哈尔滨地图图层
m = folium.Map(location=[45.747,126.632],
tiles='Stamen Terrain',
zoom_start=12) #地图缩放程度
tooltip = '请点击我查看该点信息'
#在哈尔滨地图图层中添加标记
folium.Marker([45.7476198321,126.6324558375],
popup='<i>哈工大</i>',
tooltip=tooltip,
icon=folium.Icon(color='red')).add_to(m)
folium.Marker([45.7757912763,126.6821874003],
popup='<b>哈工程</b>',
tooltip=tooltip,
icon=folium.Icon(color='blue')).add_to(m)
folium.Marker([45.7207185264,126.6381461963],
popup='<b>东北林业大学</b>',
tooltip=tooltip,
icon=folium.Icon(color='green')).add_to(m)
m
地图中画圈
有时候我们需要标记某个点的周围,如使用圆形或者圆点。
import folium
#哈尔滨地图图层
m = folium.Map(location=[45.747,126.632],
tiles='Stamen Toner',
zoom_start=13) #地图缩放程度
#在哈尔滨地图图层中添加标记
folium.Circle(
location = [45.7207185264,126.6381461963],
radius=100,
popup='东北林业大学',
color='blue',
fill=False
).add_to(m)
folium.CircleMarker(
location = [45.7476198321,126.6324558375],
radius=100,
popup='哈工大',
color='#3186cc',
fill=True,
fill_color='#3186cc'
).add_to(m)
m
folium还有更多的精致的地图可视化效果,本文仅仅是将比较简单的代码进行了讲解,之后大家如果感兴趣可阅读官方文档
https://python-visualization.github.io/folium
推荐阅读
【大邓推荐阅读】学习编程遇到问题,该如何正确的求助(提问)?
【大邓自己的付费视频课】ython爬虫、文本分析、机器学习系列课视频教程
【工具篇】如何用Google Colab高效的学习Python
大神kennethreitz写出requests-html,号称为人设计的网页解析库
公众号后台回复”20190504"得本项目代码
我就希望你给我一个好看